home *** CD-ROM | disk | FTP | other *** search
/ Nothing but Tetris / Nothing but Tetris.iso / amiga / yactris / src / makestructs.c < prev    next >
C/C++ Source or Header  |  1994-01-01  |  12KB  |  526 lines

  1. /*
  2.     YacTris v0.0
  3.     Copyright ⌐1993 Jonathan P. Springer
  4.  
  5.     This program is free software; you can redistribute it and/or modify
  6.     it under the terms of the GNU General Public License as published by
  7.     the Free Software Foundation; either version 1, or (at your option)
  8.     any later version.
  9.  
  10.     This program is distributed in the hope that it will be useful,
  11.     but WITHOUT ANY WARRANTY; without even the implied warranty of
  12.     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  13.     GNU General Public License for more details.
  14.  
  15.     You should have received a copy of the GNU General Public License
  16.     along with this program; if not, write to the Free Software
  17.     Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  18.  
  19.     For more details see the files README and COPYING, which should have
  20.     been included in this distribution.
  21.  
  22.     The author can be reached during the school year at these E-Mail addresses:
  23.  
  24.     springjp@screech.alfred.edu        (Internet)
  25.     springjp@ceramics.bitnet        (Bitnet)
  26.  
  27.     And can be reached by paper mail year-round at the following address:
  28.  
  29.     Jonathan Springer
  30.     360 W. Main St.
  31.     Dallastown, PA    17313-2014
  32.     USA
  33.  
  34. */
  35.  
  36.  
  37. /*
  38. **
  39. **  MakeStructs.c
  40. **
  41. **  All the MakeStructs for the various pieces.
  42. **
  43. */
  44.  
  45. #include "yactris.h"
  46.  
  47. const struct MakeStruct LineM0[] = {
  48.     {PEN,   SHINE},
  49.     {MOVE,  0,0,    1,-1},
  50.     {DRAW,  0,0,    0,0},
  51.     {DRAW,  4,-2,   0,0},
  52.     {MOVE,  0,1,    1,-2},
  53.     {DRAW,  0,1,    0,1},
  54.     {PEN,   SHADOW},
  55.     {MOVE,  4,-1,   0,0},
  56.     {DRAW,  4,-1,   1,-1},
  57.     {DRAW,  0,1,    1,-1},
  58.     {MOVE,  4,-2,   0,1},
  59.     {DRAW,  4,-2,   1,-2},
  60.     {PEN,   FILL},
  61.     {FLOOD, 0,4,    0,4},
  62.     {STOP}
  63. };
  64.  
  65. const struct MakeStruct LineM1[] = {
  66.     {PEN,   SHINE},
  67.     {MOVE,  0,0,    4,-1},
  68.     {DRAW,  0,0,    0,0},
  69.     {DRAW,  1,-2,   0,0},
  70.     {MOVE,  0,1,    4,-1},
  71.     {DRAW,  0,1,    0,1},
  72.     {PEN,   SHADOW},
  73.     {MOVE,  1,-1,   0,0},
  74.     {DRAW,  1,-1,   4,-1},
  75.     {DRAW,  0,1,    4,-1},
  76.     {MOVE,  1,-2,   0,1},
  77.     {DRAW,  1,-2,   4,-2}
  78.     {PEN,   FILL},
  79.     {FLOOD, 0,4,    0,4},
  80.     {STOP}
  81. };
  82.  
  83. const struct MakeStruct BlockM[] = {
  84.     {PEN,   SHINE},
  85.     {MOVE,  0,0,    2,-1},
  86.     {DRAW,  0,0,    0,0},
  87.     {DRAW,  2,-2,   0,0},
  88.     {MOVE,  0,1,    2,-2},
  89.     {DRAW,  0,1,    0,1},
  90.     {PEN,   SHADOW},
  91.     {MOVE,  2,-1,   0,0},
  92.     {DRAW,  2,-1,   2,-1},
  93.     {DRAW,  0,1,    2,-1},
  94.     {MOVE,  2,-2,   0,1},
  95.     {DRAW,  2,-2,   2,-2}
  96.     {PEN,   FILL},
  97.     {FLOOD, 0,4,    0,4},
  98.     {STOP}
  99. };
  100.  
  101. const struct MakeStruct TeeM0[] = {
  102.     {PEN,   SHINE},
  103.     {MOVE,  0,0,    2,-1},
  104.     {DRAW,  0,0,    1,0},
  105.     {DRAW,  1,0,    1,0},
  106.     {DRAW,  1,0,    0,0},
  107.     {DRAW,  2,-2,   0,0},
  108.     {MOVE,  0,1,    2,-2},
  109.     {DRAW,  0,1,    1,1},
  110.     {MOVE,  1,1,    1,0},
  111.     {DRAW,  1,1,    0,1},
  112.     {MOVE,  2,-1,   1,0},
  113.     {DRAW,  3,-2,   1,0},
  114.     {PEN,   SHADOW},
  115.     {MOVE,  0,1,    2,-1},
  116.     {DRAW,  3,-1,   2,-1},
  117.     {DRAW,  3,-1,   1,0}
  118.     {MOVE,  3,-2,   1,1}
  119.     {DRAW,  3,-2,   2,-2},
  120.     {MOVE,  2,-1,   0,0},
  121.     {DRAW,  2,-1,   1,-1},
  122.     {MOVE,  2,-2,   1,0},
  123.     {DRAW,  2,-2,   0,1},
  124.     {PEN,   FILL},
  125.     {FLOOD, 1,4,    0,4},
  126.     {STOP}
  127. };
  128.  
  129. const struct MakeStruct TeeM1[] = {
  130.     {PEN,   SHINE},
  131.     {MOVE,  0,0,    3,-1},
  132.     {DRAW,  0,0,    0,0},
  133.     {DRAW,  1,-2,   0,0},
  134.     {MOVE,  0,1,    0,1},
  135.     {DRAW,  0,1,    3,-2},
  136.     {MOVE,  1,-1,   1,0},
  137.     {DRAW,  2,-2,   1,0},
  138.     {PEN,   SHADOW},
  139.     {MOVE,  0,1,    3,-1},
  140.     {DRAW,  1,-1,   3,-1},
  141.     {DRAW,  1,-1,   2,-1},
  142.     {DRAW,  2,-1,   2,-1},
  143.     {DRAW,  2,-1,   1,0},
  144.     {MOVE,  2,-2,   1,1},
  145.     {DRAW,  2,-2,   2,-2},
  146.     {MOVE,  1,-2,   2,-1},
  147.     {DRAW,  1,-2,   3,-2},
  148.     {MOVE,  1,-1,   0,0},
  149.     {DRAW,  1,-1,   1,-1},
  150.     {MOVE,  1,-2,   0,1},
  151.     {DRAW,  1,-2,   1,0},
  152.     {PEN,   FILL},
  153.     {FLOOD, 0,4,    0,4},
  154.     {STOP}
  155. };
  156.  
  157. const struct MakeStruct TeeM2[] = {
  158.     {PEN,   SHINE},
  159.     {MOVE,  0,0,    1,-1},
  160.     {DRAW,  0,0,    0,0},
  161.     {DRAW,  3,-2,   0,0},
  162.     {MOVE,  0,1,    0,1},
  163.     {DRAW,  0,1,    1,-1},
  164.     {MOVE,  1,0,    1,0},
  165.     {DRAW,  1,0,    2,-1},
  166.     {MOVE,  1,1,    2,-2},
  167.     {DRAW,  1,1,    1,-1},
  168.     {PEN,   SHADOW},
  169.     {MOVE,  1,1,    2,-1},
  170.     {DRAW,  2,-1,   2,-1},
  171.     {DRAW,  2,-1,   1,-1},
  172.     {DRAW,  3,-1,   1,-1},
  173.     {DRAW,  3,-1,   0,0},
  174.     {MOVE,  3,-2,   0,1},
  175.     {DRAW,  3,-2,   1,-2},
  176.     {MOVE,  2,-2,   1,-1},
  177.     {DRAW,  2,-2,   2,-2},
  178.     {MOVE,  0,1,    1,-1},
  179.     {DRAW,  1,0,    1,-1},
  180.     {PEN,   FILL},
  181.     {FLOOD, 0,4,    0,4},
  182.     {STOP}
  183. };
  184.  
  185. const struct MakeStruct TeeM3[] = {
  186.     {PEN,   SHINE},
  187.     {MOVE,  0,0,    2,-1},
  188.     {DRAW,  0,0,    1,0},
  189.     {DRAW,  1,0,    1,0},
  190.     {DRAW,  1,0,    0,0},
  191.     {DRAW,  2,-2,   0,0},
  192.     {MOVE,  1,1,    0,1},
  193.     {DRAW,  1,1,    1,0},
  194.     {MOVE,  0,1,    1,1},
  195.     {DRAW,  0,1,    2,-2},
  196.     {MOVE,  1,0,    2,0},
  197.     {DRAW,  1,0,    3,-1},
  198.     {MOVE,  1,1,    2,-1},
  199.     {DRAW,  1,1,    3,-2},
  200.     {PEN,   SHADOW},
  201.     {MOVE,  1,1,    3,-1},
  202.     {DRAW,  2,-1,   3,-1},
  203.     {DRAW,  2,-1,   0,0},
  204.     {MOVE,  2,-2,   0,1},
  205.     {DRAW,  2,-2,   3,-2},
  206.     {MOVE,  0,1,    2,-1},
  207.     {DRAW,  1,0,    2,-1},
  208.     {PEN,   FILL},
  209.     {FLOOD, 1,4,    0,4},
  210.     {STOP}
  211. };
  212.  
  213. const struct MakeStruct ZigM0[] = {
  214.     {PEN,   SHINE},
  215.     {MOVE,  0,0,    1,-1},
  216.     {DRAW,  0,0,    0,0},
  217.     {DRAW,  2,-2,   0,0},
  218.     {MOVE,  0,1,    0,1},
  219.     {DRAW,  0,1,    1,-2},
  220.     {MOVE,  1,0,    1,0},
  221.     {DRAW,  1,0,    2,-1},
  222.     {MOVE,  1,1,    1,-1},
  223.     {DRAW,  1,1,    2,-2},
  224.     {MOVE,  2,-1,   1,0},
  225.     {DRAW,  3,-1,   1,0},
  226.     {PEN,   SHADOW},
  227.     {MOVE,  1,0,    2,-1},
  228.     {DRAW,  3,-1,   2,-1},
  229.     {DRAW,  3,-1,   1,0},
  230.     {MOVE,  3,-2,   1,1},
  231.     {DRAW,  3,-2,   2,-2},
  232.     {MOVE,  2,-1,   0,0},
  233.     {DRAW,  2,-1,   1,-2},
  234.     {MOVE,  2,-2,   0,1},
  235.     {DRAW,  2,-2,   1,0},
  236.     {MOVE,  0,1,    1,-1},
  237.     {DRAW,  1,0,    1,-1},
  238.     {PEN,   FILL},
  239.     {FLOOD, 0,4,    0,4},
  240.     {STOP}
  241. };
  242.  
  243. const struct MakeStruct ZigM1[] = {
  244.     {PEN,   SHINE},
  245.     {MOVE,  0,0,    3,-1},
  246.     {DRAW,  0,0,    1,0},
  247.     {DRAW,  1,0,    1,0},
  248.     {DRAW,  1,0,    0,0},
  249.     {DRAW,  2,-2,   0,0},
  250.     {MOVE,  0,1,    1,1},
  251.     {DRAW,  0,1,    3,-2},
  252.     {MOVE,  1,1,    0,1},
  253.     {DRAW,  1,1,    1,1},
  254.     {PEN,   SHADOW},
  255.     {MOVE,  0,1,    3,-1},
  256.     {DRAW,  1,-1,   3,-1},
  257.     {DRAW,  1,-1,   2,-1},
  258.     {DRAW,  2,-1,   2,-1},
  259.     {DRAW,  2,-1,   0,0},
  260.     {MOVE,  2,-2,   0,1},
  261.     {DRAW,  2,-2,   2,-2},
  262.     {MOVE,  1,-2,   2,-1},
  263.     {DRAW,  1,-2,   3,-2},
  264.     {PEN,   FILL},
  265.     {FLOOD, 1,4,    0,4},
  266.     {STOP}
  267. };
  268.  
  269. const struct MakeStruct ZagM0[] = {
  270.     {PEN,   SHINE},
  271.     {MOVE,  0,0,    2,-1},
  272.     {DRAW,  0,0,    1,0},
  273.     {DRAW,  1,0,    1,0},
  274.     {DRAW,  1,0,    0,0},
  275.     {DRAW,  3,-2,   0,0},
  276.     {MOVE,  0,1,    1,1},
  277.     {DRAW,  0,1,    2,-2},
  278.     {MOVE,  1,1,    0,1},
  279.     {DRAW,  1,1,    1,0},
  280.     {PEN,   SHADOW},
  281.     {MOVE,  3,-1,   0,0},
  282.     {DRAW,  3,-1,   1,-1},
  283.     {DRAW,  2,-1,   1,-1},
  284.     {DRAW,  2,-1,   2,-1},
  285.     {DRAW,  0,1,    2,-1},
  286.     {MOVE,  3,-2,   0,1},
  287.     {DRAW,  3,-2,   1,-2},
  288.     {MOVE,  2,-2,   1,-1},
  289.     {DRAW,  2,-2,   2,-2},
  290.     {PEN,   FILL},
  291.     {FLOOD, 1,4,    0,4},
  292.     {STOP}
  293. };
  294.  
  295. const struct MakeStruct ZagM1[] = {
  296.     {PEN,   SHINE},
  297.     {MOVE,  0,0,    2,-1},
  298.     {DRAW,  0,0,    0,0},
  299.     {DRAW,  1,-2,   0,0},
  300.     {MOVE,  0,1,    0,1},
  301.     {DRAW,  0,1,    2,-2},
  302.     {MOVE,  1,0,    2,0},
  303.     {DRAW,  1,0,    3,-1},
  304.     {MOVE,  1,1,    2,-1},
  305.     {DRAW,  1,1,    3,-2},
  306.     {MOVE,  1,-1,   1,0},
  307.     {DRAW,  2,-2,   1,0},
  308.     {PEN,   SHADOW},
  309.     {MOVE,  2,-1,   1,0},
  310.     {DRAW,  2,-1,   3,-1},
  311.     {DRAW,  1,1,    3,-1},
  312.     {MOVE,  2,-2,   1,1},
  313.     {DRAW,  2,-2,   3,-2},
  314.     {MOVE,  1,-1,   0,0},
  315.     {DRAW,  1,-1,   1,-1},
  316.     {MOVE,  1,-2,   0,1},
  317.     {DRAW,  1,-2,   1,0},
  318.     {MOVE,  0,1,    2,-1},
  319.     {DRAW,  1,0,    2,-1},
  320.     {PEN,   FILL},
  321.     {FLOOD, 0,4,    0,4},
  322.     {STOP}
  323. };
  324.  
  325. const struct MakeStruct EllM0[] = {
  326.     {PEN,   SHINE},
  327.     {MOVE,  0,0,    2,-1},
  328.     {DRAW,  0,0,    1,0},
  329.     {DRAW,  2,0,    1,0},
  330.     {DRAW,  2,0,    0,0},
  331.     {DRAW,  3,-2,   0,0},
  332.     {MOVE,  0,1,    1,1},
  333.     {DRAW,  0,1,    2,-2},
  334.     {MOVE,  2,1,    0,1},
  335.     {DRAW,  2,1,    1,0},
  336.     {PEN,   SHADOW},
  337.     {MOVE,  0,1,    2,-1},
  338.     {DRAW,  3,-1,   2,-1},
  339.     {DRAW,  3,-1,   0,0},
  340.     {MOVE,  3,-2,   0,1},
  341.     {DRAW,  3,-2,   2,-2},
  342.     {PEN,   FILL},
  343.     {FLOOD, 0,4,    1,4},
  344.     {STOP}
  345. };
  346.  
  347. const struct MakeStruct EllM1[] = {
  348.     {PEN,   SHINE},
  349.     {MOVE,  0,0,    3,-1},
  350.     {DRAW,  0,0,    0,0},
  351.     {DRAW,  1,-2,   0,0},
  352.     {MOVE,  0,1,    0,1},
  353.     {DRAW,  0,1,    3,-2},
  354.     {MOVE,  1,-1,   2,0},
  355.     {DRAW,  2,-2,   2,0},
  356.     {PEN,   SHADOW},
  357.     {MOVE,  0,1,    3,-1},
  358.     {DRAW,  2,-1,   3,-1},
  359.     {DRAW,  2,-1,   2,0},
  360.     {MOVE,  2,-2,   2,1},
  361.     {DRAW,  2,-2,   3,-2},
  362.     {MOVE,  1,-1,   0,0},
  363.     {DRAW,  1,-1,   2,-1},
  364.     {MOVE,  1,-2,   0,1},
  365.     {DRAW,  1,-2,   2,0},
  366.     {PEN,   FILL},
  367.     {FLOOD, 0,4,    0,4},
  368.     {STOP}
  369. };
  370.  
  371. const struct MakeStruct EllM2[] = {
  372.     {PEN,   SHINE},
  373.     {MOVE,  0,0,    2,-1},
  374.     {DRAW,  0,0,    0,0},
  375.     {DRAW,  3,-2,   0,0},
  376.     {MOVE,  0,1,    0,1},
  377.     {DRAW,  0,1,    2,-2},
  378.     {PEN,   SHADOW},
  379.     {MOVE,  0,1,    2,-1},
  380.     {DRAW,  1,-1,   2,-1},
  381.     {DRAW,  1,-1,   1,-1},
  382.     {DRAW,  3,-1,   1,-1},
  383.     {DRAW,  3,-1,   0,0},
  384.     {MOVE,  3,-2,   0,1},
  385.     {DRAW,  3,-2,   1,-2},
  386.     {MOVE,  1,-2,   1,-1},
  387.     {DRAW,  1,-2,   2,-2},
  388.     {PEN,   FILL},
  389.     {FLOOD, 0,4,    0,4},
  390.     {STOP}
  391. };
  392.  
  393. const struct MakeStruct EllM3[] = {
  394.     {PEN,   SHINE},
  395.     {MOVE,  0,0,    1,-1},
  396.     {DRAW,  0,0,    0,0},
  397.     {DRAW,  2,-1,   0,0},
  398.     {MOVE,  0,1,    0,1},
  399.     {DRAW,  0,1,    1,-2},
  400.     {MOVE,  1,0,    1,0},
  401.     {DRAW,  1,0,    3,-1},
  402.     {MOVE,  1,1,    1,-1},
  403.     {DRAW,  1,1,    3,-2},
  404.     {PEN,   SHADOW},
  405.     {MOVE,  1,1,    3,-1},
  406.     {DRAW,  2,-1,   3,-1},
  407.     {DRAW,  2,-1,   0,0},
  408.     {MOVE,  2,-2,   0,1},
  409.     {DRAW,  2,-2,   3,-2},
  410.     {MOVE,  0,1,    1,-1},
  411.     {DRAW,  1,0,    1,-1},
  412.     {PEN,   FILL},
  413.     {FLOOD, 0,4,    0,4},
  414.     {STOP}
  415. };
  416.  
  417. const struct MakeStruct LeeM0[] = {
  418.     {PEN,   SHINE},
  419.     {MOVE,  0,0,    2,-1},
  420.     {DRAW,  0,0,    0,0},
  421.     {DRAW,  1,-2,   0,0},
  422.     {MOVE,  0,1,    0,1},
  423.     {DRAW,  0,1,    2,-1},
  424.     {MOVE,  1,-1,   1,0},
  425.     {DRAW,  3,-2,   1,0},
  426.     {PEN,   SHADOW},
  427.     {MOVE,  0,1,    2,-1},
  428.     {DRAW,  3,-1,   2,-1},
  429.     {DRAW,  3,-1,   1,0},
  430.     {MOVE,  3,-2,   1,1},
  431.     {DRAW,  3,-2,   2,-2},
  432.     {MOVE,  1,-1,   0,0},
  433.     {DRAW,  1,-1,   1,-1},
  434.     {MOVE,  1,-2,   0,1},
  435.     {DRAW,  1,-2,   1,0},
  436.     {PEN,   FILL},
  437.     {FLOOD, 0,4,    0,4},
  438.     {STOP}
  439. };
  440.  
  441. const struct MakeStruct LeeM1[] = {
  442.     {PEN,   SHINE},
  443.     {MOVE,  0,0,    3,-1},
  444.     {DRAW,  0,0,    0,0},
  445.     {DRAW,  2,-2,   0,0},
  446.     {MOVE,  0,1,    0,1},
  447.     {DRAW,  0,1,    3,-2},
  448.     {PEN,   SHADOW},
  449.     {MOVE,  0,1,    3,-1},
  450.     {DRAW,  1,-1,   3,-1},
  451.     {DRAW,  1,-1,   1,-1},
  452.     {DRAW,  2,-1,   1,-1}
  453.     {DRAW,  2,-1,   0,0},
  454.     {MOVE,  2,-2,   0,1},
  455.     {DRAW,  2,-2,   1,-2},
  456.     {MOVE,  1,-2,   1,-1},
  457.     {DRAW,  1,-2,   3,-2},
  458.     {PEN,   FILL},
  459.     {FLOOD, 0,4,    0,4},
  460.     {STOP}
  461. };
  462.  
  463. const struct MakeStruct LeeM2[] = {
  464.     {PEN,   SHINE},
  465.     {MOVE,  0,0,    1,-1},
  466.     {DRAW,  0,0,    0,0},
  467.     {DRAW,  3,-2,   0,0},
  468.     {MOVE,  0,1,    0,1},
  469.     {DRAW,  0,1,    1,-2},
  470.     {MOVE,  2,0,    1,0},
  471.     {DRAW,  2,0,    2,-1},
  472.     {MOVE,  2,1,    1,-1},
  473.     {DRAW,  2,1,    2,-2},
  474.     {PEN,   SHADOW},
  475.     {MOVE,  2,1,    2,-1},
  476.     {DRAW,  3,-1,   2,-1},
  477.     {DRAW,  3,-1,   0,0},
  478.     {MOVE,  3,-2,   0,1},
  479.     {DRAW,  3,-2,   2,-2},
  480.     {MOVE,  0,1,    1,-1},
  481.     {DRAW,  2,0,    1,-1},
  482.     {PEN,   FILL},
  483.     {FLOOD, 0,4,    0,4},
  484.     {STOP}
  485. };
  486.  
  487. const struct MakeStruct LeeM3[] = {
  488.     {PEN,   SHINE},
  489.     {MOVE,  0,0,    3,-1},
  490.     {DRAW,  0,0,    2,0},
  491.     {DRAW,  1,0,    2,0},
  492.     {DRAW,  1,0,    0,0},
  493.     {DRAW,  2,-2,   0,0},
  494.     {MOVE,  1,1,    0,1},
  495.     {DRAW,  1,1,    2,0},
  496.     {MOVE,  0,1,    2,1},
  497.     {DRAW,  0,1,    3,-2},
  498.     {PEN,   SHADOW},
  499.     {MOVE,  0,1,    3,-1},
  500.     {DRAW,  2,-1,   3,-1},
  501.     {DRAW,  2,-1,   0,0},
  502.     {MOVE,  2,-2,   0,1},
  503.     {DRAW,  2,-2,   3,-2},
  504.     {PEN,   FILL},
  505.     {FLOOD, 1,4,    0,4},
  506.     {STOP}
  507. };
  508.  
  509. const struct MakeStruct Sq[] = {
  510.     {PEN,   SHINE},
  511.     {MOVE,  0,0,    1,-1},
  512.     {DRAW,  0,0,    0,0},
  513.     {DRAW,  1,-2,   0,0},
  514.     {MOVE,  0,1,    0,1},
  515.     {DRAW,  0,1,    1,-2},
  516.     {PEN,   SHADOW},
  517.     {MOVE,  1,-1,   0,0},
  518.     {DRAW,  1,-1,   1,-1},
  519.     {DRAW,  0,1,    1,-1},
  520.     {MOVE,  1,-2,   0,1},
  521.     {DRAW,  1,-2,   1,-2},
  522.     {PEN,   FILL},
  523.     {FLOOD, 0,4,    0,4},
  524.     {STOP}
  525. };
  526.